import { Module } from '@nestjs/common';
import { SessionModule } from 'nestjs-session';
// import { RouterModule } from "@nestjs/core"
import { ConfigModule } from '@nestjs/config';
import { AppController } from './app.controller';
import { AppService } from './app.service';

import { MongooseModule } from '@nestjs/mongoose';
import { UsersModule } from './users/user.module';
import { AuthModule } from './auth/auth.module';
import { LoginModule } from './login/login.module';
import { JourneyModule } from './journey/journey.module'
import { ChatModule } from './chat/chat.module';

import { JwtStrategy } from './auth/jwt.strategy';

import { JWT_SECRET } from './constant';

import * as dotenv from 'dotenv'; // 导入 dotenv
import { JwtModule } from '@nestjs/jwt';
const dotenvInstance = dotenv.config();


@Module({
  imports: [
    JwtModule.register({
      secret: '3a7934ed56223528bb31eeb616394ac6c55bfb2acb63eafe7f6b1868ecd753ac', // 确保这个密钥与你生成JWT时使用的密钥一致
      signOptions: { expiresIn: '60h' }, // 你可以根据需要调整过期时间
    }),
    ConfigModule.forRoot({
      isGlobal: true, // 使配置服务全局可用
      envFilePath: '.env', // 指定环境变量文件路径（如果需要）
    }),
    // MongooseModule.forRoot(process.env.MONGODB_URI),
    // MongooseModule.forRoot('mongodb://root:qg1wxD4ovz@mongodb:27017/shunfengche'),
    MongooseModule.forRoot(process.env.MONGODB_URI),
    // 导入 SessionModule 并配置选项
    SessionModule.forRoot({
      // session: { secret: JWT_SECRET },
      session: { secret:'3a7934ed56223528bb31eeb616394ac6c55bfb2acb63eafe7f6b1868ecd753ac'},
    }),
    UsersModule,
    AuthModule,
    LoginModule,
    JourneyModule,
    ChatModule
  ],
  controllers: [AppController],
  providers: [AppService, JwtStrategy],
})
export class AppModule {}
